package com.triptogether.baseclasses;

import android.content.Intent;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;
import android.support.v4.app.TaskStackBuilder;
import android.view.MenuItem;

import com.triptogether.utils.androidsystem.DeviceInfoUtils;


public class BaseActivity extends FragmentActivity {

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
			case android.R.id.home:
		        Intent upIntent = NavUtils.getParentActivityIntent(this);
		        if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
		            // This activity is NOT part of this app's task, so create a new task
		            // when navigating up, with a synthesized back stack.
		            TaskStackBuilder.create(this)
		                    // Add all of this activity's parents to the back stack
		                    .addNextIntentWithParentStack(upIntent)
		                    // Navigate up to the closest parent
		                    .startActivities();
		        } else {
		            // This activity is part of this app's task, so simply
		            // navigate up to the logical parent activity.
		            NavUtils.navigateUpTo(this, upIntent);
		        }
		        return true;
		}
		return super.onOptionsItemSelected(item);
	}
	
	// TODO: check this method on Android 3.0 and below
	protected void setDisplayHomeAsUpEnabled(boolean showHomeAsUp) {
		// A device without Android 3.0 and above, does not have ActionBar
		if(DeviceInfoUtils.hasHoneycomb()) {
			getActionBar().setDisplayHomeAsUpEnabled(showHomeAsUp);
		}
    }
}
